package edu.bit.water.controller;

import edu.bit.water.entity.UserEntity;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSON;

import edu.bit.water.entity.SideMenuItem;

@Controller
@RequestMapping(value="/sideMenu")
public class MenuController extends BaseController {

	@RequestMapping(value="/sideMenu")
    @ResponseBody
    public Map<String, Object> getSideMedu() throws URISyntaxException, IOException, InterruptedException, InstantiationException,
            IllegalAccessException {
		List<SideMenuItem> menuItems = new ArrayList<>();
		Map<String, Object> modelMap = new HashMap<>();
        //取出在UserController的dologin中保存在context中的当前用户的role
		UserEntity user=new UserEntity();
		if(currentUser()==null){
			modelMap.put("role","-1");
			modelMap.put("companyid","-1");
		}
		else{
			user = currentUser();
			modelMap.put("role",user.getRole());
			modelMap.put("companyid",""+user.getCompanyId());
		}

        	/*if (roleId == 1) {
            //超级管理员权限
            //SideMenuItem第一个参数是菜单名称，第二个参数是要跳转的html地址，
            //元数据
           // menuItems.put("设备元数据",  "/meta_sensor.html");
            //元数据下的水平衡评估(以下4条目录真实名称中均不包含元数据字样，在这添加只是为了区分)
           // menuItems.put("用水单元水平衡测试元数据", "/meta_eva_unit_wbal_test.html");
           
            menuItems.add(new SideMenuItem("企业取水水源情况元数据", "/meta_eva_wsrc_info.html"));
            menuItems.add(new SideMenuItem("企业年用水情况元数据", "/meta_eva_year_wuse_info.html"));
//            //设备管理
            menuItems.add(new SideMenuItem("设备管理", "/entity_sensor.html"));
            //水信息管理
            menuItems.add(new SideMenuItem("水信息", "/entity_water.html"));
            menuItems.add(new SideMenuItem("可视化", "/water_visual.html"));
            //工艺流程
            menuItems.add(new SideMenuItem("工艺流程", "/flowchart.html"));
            //水平衡
            menuItems.add(new SideMenuItem("企业取水水源表", "/entity_eva_wsrc_info.html"));
            menuItems.add(new SideMenuItem("企业年用水表", "/entity_eva_year_wuse_info.html"));
            menuItems.add(new SideMenuItem("企业生产情况统计表", "/entity_evb_produce_info.html"));
            menuItems.add(new SideMenuItem("全场计量水表配备", "/entity_eva_water_sensor_info.html"));
            menuItems.add(new SideMenuItem("用水单元水平衡测试表", "/entity_eva_unit_wbal_test.html"));
            menuItems.add(new SideMenuItem("企业水平衡测试统计表", "/entity_eva_water_sensor_info.html"));
            menuItems.add(new SideMenuItem("企业用水分析表", "/label_eva_cmp_water_anl.html"));
            //预警
            menuItems.add(new SideMenuItem("预警记录", "/warnning_record.html"));
            menuItems.add(new SideMenuItem("预警规则", "/warnning_rule.html"));
        } else if (roleId == 2) {
            //普通用户权限，返回除了元数据以外的页面
            //设备管理
            menuItems.add(new SideMenuItem("设备管理", "/entity_sensor.html"));
            //水信息管理
            menuItems.add(new SideMenuItem("水信息", "/entity_water.html"));
            menuItems.add(new SideMenuItem("可视化", "/water_visual.html"));
            //工艺流程
            menuItems.add(new SideMenuItem("工艺流程", "/flowchart.html"));
            //水平衡
            menuItems.add(new SideMenuItem("企业取水水源表", "/entity_eva_wsrc_info.html"));
            menuItems.add(new SideMenuItem("企业年用水表", "/entity_eva_year_wuse_info.html"));
            menuItems.add(new SideMenuItem("企业生产情况统计表", "/entity_evb_produce_info.html"));
            menuItems.add(new SideMenuItem("全场计量水表配备", "/entity_eva_water_sensor_info.html"));
            menuItems.add(new SideMenuItem("用水单元水平衡测试表", "/entity_eva_unit_wbal_test.html"));
            menuItems.add(new SideMenuItem("企业水平衡测试统计表", "/entity_eva_water_sensor_info.html"));
            menuItems.add(new SideMenuItem("企业用水分析表", "/label_eva_cmp_water_anl.html"));
            //预警
            menuItems.add(new SideMenuItem("预警记录", "/warnning_record.html"));
            menuItems.add(new SideMenuItem("预警规则", "/warnning_rule.html"));
        } else {
            //工艺流程
            menuItems.add(new SideMenuItem("工艺流程", "/flowchart.html"));
        }*/
        return modelMap;
    }
}
